layui.define(['form', 'laydate', 'table'], function (exports) {
    var form = layui.form;
    var laydate = layui.laydate;
    var table = layui.table;
    var baseUnivTable = null;
    var view = {
        init: function () {
            this.initTable();
            this.initSearchForm();
            this.initToolBar();
            window.dataReload = function () {
                Lib.doSearchForm($("#searchForm"), baseUnivTable)
            }
        },
        initTable: function () {
            baseUnivTable = table.render({
                elem: '#baseUnivTable',
                height: Lib.getTableHeight(0),
                cellMinWidth: 60,
                method: 'post',
                url: Common.ctxPath + '/base/baseUniv/list.json' // 数据接口
                , page: Lib.tablePage // 开启分页
                , limit: 10,
                cols: [[ // 表头
                    {
                        type: 'checkbox',
                        fixed: 'left',
                    },
                    {

                        field: 'univId',
                        title: 'univId',
                        fixed: 'left',
                        width: 80,
                    },
                    {

                        field: 'univName',
                        title: '大学名称',
                        width: 150,
                    },
                    {

                        field: 'provName',
                        title: '所在省份',
                    },
                    {

                        field: 'cityName',
                        title: '所在地市',
                    },
                    {
                        field: 'is985',
                        title: '是否985',
                        templet: '<div>{{d.is985==0?"否":"是"}}</div>'
                    },
                    {
                        field: 'is211',
                        title: '是否211',
                        templet: '<div>{{d.is211==0?"否":"是"}}</div>'
                    },
                    {
                        field: 'isDouble',
                        title: '是否双一流',
                        templet: '<div>{{d.isDouble==0?"否":"是"}}</div>'
                    },
                    {
                        field: 'isFirstClass',
                        title: '是否一流学科',
                        templet: '<div>{{d.isFirstClass==0?"否":"是"}}</div>'
                    },

                    {

                        field: 'univStatus',
                        title: '可用标记',
                        templet: '<div>{{d.univStatus==0?"否":"是"}}</div>'
                    },

                    {

                        field: 'createdName',
                        title: '创建人名称',
                    },

                    {

                        field: 'updatedBy',
                        title: '更新人',
                    }

                ]]

            });
            table.on('sort(baseUnivTable)', function (obj) { //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
                console.log(obj.field); //当前排序的字段名
                console.log(obj.type); //当前排序类型：desc（降序）、asc（升序）、null（空对象，默认排序）
                console.log(this); //当前排序的 th 对象

                //尽管我们的 table 自带排序功能，但并没有请求服务端。
                //有些时候，你可能需要根据当前排序的字段，重新向服务端发送请求，从而实现服务端排序，如：
                table.reload('baseUnivTable', {
                    initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。 layui 2.1.1 新增参数
                    , where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
                        field: obj.field //排序字段
                        , order: obj.type //排序方式
                    }
                });
            });
            table.on('checkbox(baseUnivTable)', function (obj) {
                var baseUniv = obj.data;
                if (obj.checked) {
                    //按钮逻辑Lib.buttonEnable()
                } else {

                }
            })
        },

        initSearchForm: function () {
            Lib.initSearchForm($("#searchForm"), baseUnivTable, form);
        },
        initToolBar: function () {
            toolbar = {
                add: function () { // 获取选中数据
                    var url = "/base/baseUniv/add.do";
                    Common.openDlg(url, "院校管理>新增");
                },
                edit: function () { // 获取选中数目
                    var data = Common.getOneFromTable(table, "baseUnivTable");
                    if (data == null) {
                        return;
                    }
                    var url = "/base/baseUniv/edit.do?univId=" + data.univId;
                    Common.openDlg(url, "院校管理>" + data.univName + ">编辑");
                },
                del: function () {
                    layui.use(['del'], function () {
                        var delView = layui.del;
                        delView.delBatch();
                    });
                }
            };
            $('.ext-toolbar').on('click', function () {
                var type = $(this).data('type');
                toolbar[type] ? toolbar[type].call(this) : '';
            });
        }
    }
    exports('index', view);

});